package object2;

/**
 * 继承练习
 */
public class ExtendsExercise02 {

    public static void main(String[] args) {
        CC cc = new CC();
        //输出什么
        /*
            我是AA类
            hahah我是BB类的有参构造
            我是CC类的有参构造
            我是CC类的无参构造
         */
    }
}

class AA{

    public AA() {
        System.out.println("我是AA类");
    }
}

class BB extends AA{

    public BB() {
        System.out.println("我是BB类的无参构造");
    }

    public BB(String name) {
        System.out.println(name + "我是BB类的有参构造");
    }

}

class CC extends BB{

    public CC() {
        this("hello");//此处直接调用重载构造器，由于this和 super无法共存，所以这里不会调用隐式的super()
        System.out.println("我是CC类的无参构造");
    }

    public CC(String name) {
        super("hahah");
        System.out.println("我是CC类的有参构造");
    }
}